<meta charset="UTF-8" />
<pre>
题目一：请问下面代码输出结果是什么，为什么？
	考核内容：
		带var不带var声明变量的区别是什么？闭包 	

	<script>
		var n = 3;
		function A() {
			var n = 1;
			B = function() {
				n = n + 1
			}
	
			function C() {
				alert(n);
			}
			return C;
		}
		var D = A();
		D(); 		//结果是什么，为什么？
		B();
		D(); 		//结果是什么，为什么？
	</script>


题目二：请问下面代码输出结果是什么，为什么？
	考核：声明提升与作用域
	<script>
	var a =5;
		function F(){
			 a = 10;
			 return;
			 function a(){}
		}
		F();
		alert(a);  //请问输出什么？为什么？
		
	</script>


题目三：深刻理解声明提升
	请问以下代码结果是什么？ 为什么？
	<script>
		var a = 5;
		function a(b){
			alert(b);
		}
		a(6);
		alert(a); 
	</script>

题目四：请解释以下代码结果及为什么？
	<script>
		i = 1; 
		alert(i); 
		var A = function() { 
			alert(i); 
			var i = 2; 
			alert(i); 
		} 
		A();  
	</script>

题目五：变量的作用域一，看下面的例子来理解作用域与var声明问题
	<script>
		var i=20;
		function A(){
			alert(i);		 
			var j=30;		 
			k=40;		 
		}
		A();  
		console.log(typeof j);   
		console.log(typeof k);	  
		
	</script>